topic "Импортирование внешних библиотек";
[l288;i1120;a17;O9;~~~.1408;2 $$1,0#10431211400427159095818037425705:param]
[a83;*R6 $$2,5#31310162474203024125188417583966:caption]
[H4;b83;*4 $$3,5#07864147445237544204411237157677:title]
[i288;O9;C2 $$4,6#40027414424643823182269349404212:item]
[b42;a42;ph2 $$5,5#45413000475342174754091244180557:text]
[l288;b17;a17;2 $$6,6#27521748481378242620020725143825:desc]
[l321;C@5;1 $$7,7#20902679421464641399138805415013:code]
[b2503;2 $$8,0#65142375456100023862071332075487:separator]
[*@(0.0.255)2 $$9,0#83433469410354161042741608181528:base]
[C2 $$10,0#37138531426314131251341829483380:class]
[l288;a17;*1 $$11,11#70004532496200323422659154056402:requirement]
[i417;b42;a42;O9;~~~.416;2 $$12,12#10566046415157235020018451313112:tparam]
[b167;C2 $$13,13#92430459443460461911108080531343:item1]
[i288;a42;O9;C2 $$14,14#77422149456609303542238260500223:item2]
[*@2$(0.128.128)2 $$15,15#34511555403152284025741354420178:NewsDate]
[l321;*C$7;2 $$16,16#03451589433145915344929335295360:result]
[l321;b83;a83;*C$7;2 $$17,17#07531550463529505371228428965313:result`-line]
[l160;*C+117 $$18,5#88603949442205825958800053222425:package`-title]
[2 $$19,0#53580023442335529039900623488521:gap]
[C2 $$20,20#70211524482531209251820423858195:class`-nested]
[b50;2 $$21,21#03324558446220344731010354752573:Par]
[b83;*+117 $$22,22#1546C2CD4112BAB0A26C534D6F11ED13:subtitle]
[2 $$0,0#00000000000000000000000000000000:Default]
[{_}%RU-RU 
[s2; [@3 Импорт внешних библиотек]&]
[s3; [@3 Содержание]&]
[s0; &]
[s3; [^topic`:`/`/DinrusIDE`/app`/importext`_ru`-ru`#1^ 1. Импорт 
больших библиотек]&]
[s3;     [^topic`:`/`/DinrusIDE`/app`/importext`_ru`-ru`#1`_1^ 1.1 
Введение]&]
[s3;     [^topic`:`/`/DinrusIDE`/app`/importext`_ru`-ru`#1`_2^ 1.2. 
Директивы]&]
[s0; &]
[s3;:1: [@5 1. Импорт больших библиотек]&]
[s22;:1`_1: [@(128.0.255) 1.1 Введение]&]
[s5; Иногда приходится преобразовывать 
код от 3`-ей стороны в пакет U`+`+. На 
это есть несколько методов, однако, 
если код 3`-ей стороны является огромной 
базой кода из сотен или тысяч файлов, 
обычные подходы (например, поместить 
все файлы в один пакет) не срабатывают.&]
[s5; Чтобы решить эту проблему, была введена 
концепция файла импортоописания. 
В нём описывается, какие файлы или 
внешнюю библиотеку нужно скомпилировать 
и проводится настройка путей включения.&]
[s5; Файл импортоописания `- это файл в 
пакете с названием [*/ `"import.ext`"]&]
[s5; Вот пример контекста import.ext :&]
[s0; &]
[s7; files `*.cpp `*.c;&]
[s7; &]
[s7; exclude&]
[s7; -|port/vsipreload.cpp&]
[s7; -|ogr/generate`_encoding`_table.c&]
[s7; -|`*/geojson/`*&]
[s7; -|`*/sqlite/`*&]
[s7; -|`*/sqlite3/`*&]
[s7; -|`*/pg/`*&]
[s7; -|`*/sde/`*&]
[s7; -|`*/sosi/`*&]
[s7; -|`*/tiger/`*&]
[s7; -|`*/vfk/`*&]
[s7; -|`*/shape/`*&]
[s7; -|`*/libkml/`*&]
[s7; -|`*/dgn/`*&]
[s7; -|`*/arcobjects/`*&]
[s7; -|`*/dods/`*&]
[s7; -|`*/dwg/`*&]
[s7; -|`*/filegdb/`*&]
[s7; -|`*/fme/`*&]
[s7; -|`*/gpkg/`*&]
[s7; -|`*/grass/`*&]
[s7; -|`*/idb/`*&]
[s7; -|`*/ingres/`*&]
[s7; -|`*/ili/`*&]
[s7; -|`*/mdb/`*&]
[s7; -|`*/mysql/`*&]
[s7; -|`*/kml/`*&]
[s7; -|`*/nas/`*&]
[s7; -|`*/idrisi/`*&]
[s7; -|`*/xlsx/`*&]
[s7; -|`*/xls/`*&]
[s7; -|`*/oci/`*&]
[s7; -|`*/ogdi/`*&]
[s7; -|`*/ods/`*&]
[s7; -|`*/gpkg/`*&]
[s7; -|`*/osm/`*&]
[s7; -|port/cpl`_win32ce`_api.cpp&]
[s7; -|frmts/`*&]
[s7; ;&]
[s7; &]
[s7; exclude(WIN32) linux`*.cpp;&]
[s7; &]
[s7; includes `*.h `*.hpp;&]
[s7; &]
[s5; В данном случае, строка с `"files`" говорит 
о том, что все файлы .cpp и .. находящиеся 
в папке пакета, будут добавлены в 
пакет. `"exclude`" определяет исключения 
для этих. `"includes`", добавляет папки 
всех соответствующих файлов в путь 
включения.&]
[s22;:1`_2: [@(128.0.255) 1.2. Директивы]&]
[s5; Ниже дан набор директив, который 
может использоваться в файле [* `"import.ext`"]:&]
[s0; &]
[ {{2066:7934^ [s5; [* files]]
:: [s5; Добавляет все файлы, соответствующие 
образцу, устанавливая файлы, включаемые 
в пакет. В образце может содержаться 
уайлдкард `'`*`'.]
:: [s5; [* exclude]]
:: [s5; Удаляет все соответствующие образцу 
файлы из набора.]
:: [s5; [* include`_path]]
:: [s5; Добавляет папки, соответствующие 
образцу, в путь включений.]
:: [s5; [* exclude`_path]]
:: [s5; Удаляет директории из пути включений 
(могут быть удалены только папки, 
добавленные в import.ext)]
:: [s5; [* includes]]
:: [s5; Добавляет папки всех совпадающих 
файлов в путь включений.]}}&]
[s0; &]
[s0; Заметьте, что все пути к файлам относительны
е к корню директории пакета.&]
[s0; &]
[s0; Директивы обрабатываются в порядке 
их появления в этом файле, последовательно 
добавляются и удаляются файлы под 
вопросом.&]
[s0; &]
[s0; Директивы могут иметь условие в файлах 
конфигурации, помещённые в парентезы. 
Условия придерживаются тех же правил, 
что и условия пакета.&]
[s0; ]]